package com.example.aigc_education.domain;



import java.io.Serializable;
import java.util.List;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

/**
 * 
 * @Document stu_course
 */
@Document(collection ="stu_course")
@Data
public class Course implements Serializable {
    /**
     * 序号
     */
    @Id
    private String courseId;

    /**
     * 课程名称
     */
    @Field("course_name")
    private String courseName;

    /**
     *  上课时间，示例：星期六3-4节
     */
    @Field("course_time")
    private String courseTime;

    /**
     *  学年
     */
    private Integer year;

    /**
     *  学期
     */
    private Integer semester;

    /**
     *  时间：星期几
     */
    private Integer weekday;

    /**
     *  时间：第几节，示例：3,4,7
     */
    private String time;

    /**
     *  课程类型
     */
    @Field("course_type")
    private String courseType;

    /**
     *  选，必修
     */
    @Field("course_nature")
    private String courseNature;

    /**
     * 授课老师
     */
    private String teacher;

    /**
     *  教室地点
     */
    private String building;
    private String classroom;

    /**
     *  校区
     */
    private String campus;

    /**
     *  学分
     */
    private String score;

    /**
     *  上课周数，示例：1-12周
     */
    private String schedule;

    /**
     *  重复功能：1（单周），2（双周），3（全选），4（默认自定义）
     */
    @Field("repeat_num")
    private Integer repeatNum;

    /**
     *  总学时
     */
    @Field("total_hours")
    private Integer totalHours;

    /**
     *  理论时长
     */
    @Field("theory_hours")
    private Integer theoryHours;


    /**
     * 归属科目
     */
    private String subject;

    /**
     * 课程简介
     */
    private String profile;

    /**
     * 章节与知识点（json格式）
     */
    private String chapter;

    /**
     * 课程资料（url链接）
     */
    private String material;

    /*@TableField(exist = false)
    private static final long serialVersionUID = 1L;*/
}
